package com.rise.cliente;

import com.rise.conta.Conta;
import com.rise.conta.ContaCorrente;
import com.rise.conta.ContaInvestimento;
import com.rise.conta.ContaPoupanca;
import com.rise.conta.TipoContaEnum;

public class Cliente {
	
	private String nome;
	private Conta conta;
	
	public String getNome() {
		return nome;
	}
	
	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public Conta getConta() {
		return conta;
	}
	
	public TipoClienteEnum getTipoCliente(){
		return null;
	};
	
	public void criaConta(TipoContaEnum tipoConta, double limite){};
	
	protected void criaContaverificandoCompatibilidade(TipoContaEnum tipoConta, double limite){
		if (tipoConta == TipoContaEnum.CORRENTE) {
			this.conta = new ContaCorrente();
		} else if (tipoConta == TipoContaEnum.POUPANCA) {
			this.conta = new ContaPoupanca();
		} else if (tipoConta == TipoContaEnum.INVESTIMENTO) {
			if (this.getTipoCliente() != TipoClienteEnum.VIP) {
				System.out.println("SOMENTE CLIENTE VIP PODE TER CONTA DE INVESTIMENTO");
			} else {
				this.conta = new ContaInvestimento();
			}
		}
	}
}
